layui.use(['table'], function () {
    let table = layui.table;
    var pageIndex = 1; // 当前页数
    var pageSize = 5; // 每页显示的条数
    table.render({
        elem: '#test'
        , url: ctx + '/sysUser/recoverList'
        , title: '用户数据表'
        , height: 350
        , page: {
            // curr是当前页数，limit是每页显示的条数
            page: true, //开启分页
            curr: pageIndex,
            scrollbar: true, //开启滚动条
            limit: pageSize, //每页显示的条数
            limits: [5, 10, 15, 20] //每页条数的选择项
        },
        cols: [[ //表头
            // 选择框
            {type: 'checkbox', fixed: 'left'},
            {field: 'id', title: '序号', sort: true, fixed: 'left', width: 80, minWidth: 80, maxWidth: 80, templet:function(d){
                    return d.LAY_NUM;
                } },
            {field: 'username', title: '用户账户', sort: true, fixed: 'left', width: 120, minWidth: 120, maxWidth: 120},
            {field: 'email', title: 'email', sort: true, fixed: 'left', width: 170, minWidth: 170, maxWidth: 170},
            {field: 'name', title: '姓名', sort: true, fixed: 'left', width: 100, minWidth: 100, maxWidth: 100},
            {field: 'phone', title: '电话', sort: true, fixed: 'left', width: 120, minWidth: 120, maxWidth: 120},
            {
                field: 'createTime',
                title: '创建时间',
                sort: true,
                fixed: 'left',
                width: 160,
                minWidth: 160,
                maxWidth: 160,
                templet: function (d) {
                    return layui.util.toDateString(d.createTime, 'yyyy-MM-dd HH:mm:ss');
                }
            },
            {
                field: 'updateTime',
                title: '更新时间',
                sort: true,
                fixed: 'left',
                width: 160,
                minWidth: 160,
                maxWidth: 160,
                templet: function (d) {
                    return layui.util.toDateString(d.updateTime, 'yyyy-MM-dd HH:mm:ss');
                }
            },
            {field: 'state', title: '状态', sort: true, fixed: 'left', width: 80, minWidth: 80, maxWidth: 80},
            // 显示isDel为false的数据
            {field: 'isDel', title: '是否删除', sort: true, fixed: 'left', width: 120, minWidth: 120, maxWidth: 120}
        ]],
        cellMinWidth: 80,
        cellMaxWidth: 200,
        parseData: function (res) {
            console.log(res); // 输出后端返回的数据
            var data = res.data;
            var list = data.list;
            // 获取当前页的起始序号
            startNum = (pageIndex - 1) * pageSize + 1;
            return {
                "code": res.code == 200 ? 0 : 1,
                "msg": res.msg,
                "count": data.total,
                "data": list
            };
        },
        done: function (res, curr, count) {
            // 更新当前页数
            pageIndex = curr;
            // 获取当前表格的所有数据行
            var rows = document.getElementById('test').querySelectorAll('.layui-table-body tbody tr');
            // 遍历数据行，更新序号列的显示
            for (var i = 0; i < rows.length; i++) {
                var row = rows[i];
                var index = startNum + i; // 计算序号
                var indexCell = row.querySelector('.layui-table-cell.layui-col-special .layui-table-cell-index');
                if (indexCell) {
                    indexCell.innerText = index;
                }
            }
        }
    });
    $(function () {
        // 恢复
        $('.data-recover-bttnn').on('click', function () {
            // 获取选中的数据
            var checkStatus = table.checkStatus('test');
            var data = checkStatus.data;
            console.log(data);
            // 删除
            //  判断是否选择数据
            if (data.length == 0) {
                layer.msg("请选择要恢复的数据", {icon: 5});
                return;
            }
            var ids = [];
            for (var i = 0; i < data.length; i++) {
                ids.push(data[i].id);
                console.log(ids);
            }
            //     弹出是否恢复
            layer.confirm('是否恢复？', {
                btn: ['确定', '取消'],//按钮
                yes: function () {
                    fetch(ctx + '/sysUser/recover', {
                        method: 'post',
                        headers: {
                            'Content-Type': 'application/json'
                        },
                        body: JSON.stringify(ids)
                    }).then(function (res) {
                        console.log(res); // 输出后端响应
                        return res.json();
                    }).then(function (res) {
                        if (res.code == 200) {
                            layer.msg("恢复成功");
                            table.reload('test');
                        } else {
                            layer.msg("恢复失败");
                        }
                    }).catch(function (e) {
                        layer.msg(e.msg, {icon: 2, time: 2000});
                    });
                    return false;
                },
                cancel: function () {
                    layer.msg("取消恢复");
                }
            });
            return false;
        });
    });
});